Question: The graph of \[\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1\]has its foci at $(0,\pm 4),$ while the graph of \[\frac{x^2}{a^2}-\frac{y^2}{b^2} = 1\]has its foci at $(\pm 6,0).$ Compute the value of $|ab|.$
Explanation: The graph of $\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$ is an ellipse centered at the origin, with semi-axes of length $a$ and $b.$ Because the foci of the ellipse lie along the $y-$axis, the major axis of the ellipse must be the vertical axis. The distance between each focus of the ellipse and the center is $4,$ so we have \[b^2 - a^2 = 4^2 = 16.\]The graph of $\frac{x^2}{a^2} - \frac{y^2}{b^2} = 1$ is an hyperbola centered at the origin. The distance between each focus of the hyperbola and the center is $6,$ so we have \[a^2 + b^2 = 6^2 = 36.\]Therefore, we have the system of equations \[\begin{aligned} b^2-a^2 &= 16, \\ a^2+b^2 &= 36. \end{aligned}\]To solve this system, we add the two equations, giving $2b^2 = 52,$ so $b^2 = 26,$ and $b = \pm \sqrt{26}.$ Then, $26 - a^2 = 16,$ so $a^2 = 10,$ and $a = \pm \sqrt{10}.$ Thus, \[ab = (\pm \sqrt{10})(\pm \sqrt{26}) = \pm 2 \sqrt{65},\]so $|ab| = \boxed{2 \sqrt{65}}.$[asy]
void axes(real x0, real x1, real y0, real y1)
{
	draw((x0,0)--(x1,0),EndArrow);
    draw((0,y0)--(0,y1),EndArrow);
    label("$x$",(x1,0),E);
    label("$y$",(0,y1),N);
    for (int i=floor(x0)+1; i<x1; ++i)
    	draw((i,.1)--(i,-.1));
    for (int i=floor(y0)+1; i<y1; ++i)
    	draw((.1,i)--(-.1,i));
}
path[] yh(real a, real b, real h, real k, real x0, real x1, bool upper=true, bool lower=true, pen color=black)
{
	real f(real x) { return k + a / b * sqrt(b^2 + (x-h)^2); }
    real g(real x) { return k - a / b * sqrt(b^2 + (x-h)^2); }
    if (upper) { draw(graph(f, x0, x1),color,  Arrows); }
    if (lower) { draw(graph(g, x0, x1),color,  Arrows); }
    path [] arr = {graph(f, x0, x1), graph(g, x0, x1)};
    return arr;
}
void xh(real a, real b, real h, real k, real y0, real y1, bool right=true, bool left=true, pen color=black)
{
	path [] arr = yh(a, b, k, h, y0, y1, false, false);
    if (right) draw(reflect((0,0),(1,1))*arr[0],color,  Arrows);
    if (left) draw(reflect((0,0),(1,1))*arr[1],color,  Arrows);
}
void e(real a, real b, real h, real k)
{
	draw(shift((h,k))*scale(a,b)*unitcircle);
}
size(8cm);
real a=sqrt(10),b=sqrt(26);
axes(-7,7,-7,7);
e(a,b,0,0);
xh(a,b,0,0,-6,6);
dot((0,4)^^(0,-4)); dot((6,0)^^(-6,0));
[/asy]